Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

366
Views
Error de Discord.js Tenor API [Mostrando imagen de Embed]

Estoy usando la API de Tenor para mostrar un gif aleatorio en una inserción en Discord.js. Hice todo correctamente, sin embargo, la imagen no se carga.

Aquí está mi código:

 require('dotenv').config(); const Discord = require('discord.js'); const fetch = require('node-fetch') module.exports = { name: 'tenor', category: 'misc', aliases: ['gif', 't'], async execute(message) { const url = `https://g.tenor.com/v1/search?q=Anime_Kiss&key=${process.env.TENOR}&limit=20` let response = await fetch(url) let mom = await response.json(); const makerandom = Math.floor(Math.random() * mom.results.length); let embed = new Discord.MessageEmbed() .setImage(mom.results[makerandom].itemurl) message.channel.send({ embeds: [embed]}) } };

Esto es lo que surge:

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Es porque itemurl no es un enlace directo al archivo, sino la URL completa para ver la publicación en tenor.com. En su lugar, debe usar la tecla media . Es una matriz de diccionarios con el formato (como gif , mp4 , webm , etc.) como clave y un objeto multimedia (con claves como size , duration y url ) como valor. Significa que puede obtener la URL de la imagen gif usando results[<random index>].media[0].gif.url .

He actualizado tu código, ahora funciona como se esperaba:

 require('dotenv').config(); const Discord = require('discord.js'); const fetch = require('node-fetch'); module.exports = { name: 'tenor', category: 'misc', aliases: ['gif', 't'], async execute(message) { let url = `https://g.tenor.com/v1/search?q=Anime_Kiss&key=${process.env.TENOR}&limit=20`; try { let response = await fetch(url); let { results } = await response.json(); let randomResult = results[Math.floor(Math.random() * results.length)]; let { gif } = randomResult.media[0]; let embed = new Discord.MessageEmbed().setImage(gif.url); message.channel.send({ embeds: [embed] }); } catch (err) { console.log(err); message.channel.send('Oops, there was an error'); } }, };

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!